// 1.ES6 的常量与变量
const a = 1
let b = '2'
b = '3'
console.log(a, b)

// 2.ES6 的 class 语法
class Main {
  constructor(data) {
    this.data = data
  }
  getData() {
    return this.data
  }
}
new Main()

// 3.ES6 的 Promise 语法
const promise = new Promise((resolve, reject) => {
  const image = new Image()
  image.src =
    'https://aodazhang.oss-cn-shanghai.aliyuncs.com/img/202212241148411.jpg'
  image.onload = () => resolve(image)
  image.onerror = (e) => reject(e)
})

// 4.ES8 的 async、await 语法
async function loadImage() {
  const image = await promise
  console.log(image)
}
loadImage()

// 5.ES10 的 flat 语法
;[1, [2, 3], [4, 5, [6, 7]]].flat(2)
